import java.util.ArrayList;
import java.util.List;

/**
 * @author wuwenfa
 */
public class Main {
    public static void main(String[] args) {

        LruLinkedHashMap<String, Integer> map = new LruLinkedHashMap(3);
        map.put("1", 1);
        map.put("2", 2);
        map.put("3", 3);
        System.out.println(map);
        map.put("4", 4);
        System.out.println(map);


        ArrayList<Fruit> fruit = new ArrayList<>();
        fruit.add(new Apple());
        two(fruit);

        four();
    }

    public static <T extends Fruit> void two(ArrayList<T> list) {
//        编写一个泛型方法，使之能处理所有Fruit子类的集合
        System.out.println(list);
    }


    public static <T> T three(Object obj) {
        //编写一个泛型方法，使之能自动将Object类型转换成其他类型
        return (T) obj;
    }

    public static void four() {
//        编写一段程序使 将List<String>转换为List<Object>；
        List<String> list = new ArrayList<>();
        list.add("11");
        list.add("22");
        List<Object> listObject = (List<Object>) (List) list;
    }
}
